[r17]: / ecu_at135_v1B_aladdin / StandardPLC / Plc Logic / Application / 010.Direction_Hydac / Gestion_CAN_Hydac / svnobj  Maximize  Restore  History

Download this file

81 lines (78 with data), 26.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
(************************************ACTIVATION DU BUS CAN*************************)
Activation_BUS_CAN_HYDAC(
	xEnable:= Activation_CAN_HYDAC, 
	xError=> Error_BUS_CAN, 
	eDiagInfo=> Retour_Para_CAN_HYDAC, 
	eChannel:= Channel_CAN_HYDAC, 
	eBaudrate:= 250);
	
(***********************************************************************************************************************************************)
(*************************************DEMANDE MODE CALIBRATION *********************************************************************************)
		IF (demande_calibration = 1) THEN
			TAB_TRANSMIT_HYDAC[0].4 := 1;
			TAB_TRANSMIT_HYDAC[0].5 := 0;
		ELSIF (demande_calibration = 2) THEN
			TAB_TRANSMIT_HYDAC[0].4 := 0;
			TAB_TRANSMIT_HYDAC[0].5 := 1;
	TAB_TRANSMIT_HYDAC[0].4 := 0;
	TAB_TRANSMIT_HYDAC[0].5 := 0;
(***********************************************************************************************************************************************)	
	IF (demande_validation_calibration = 1) THEN
		TAB_TRANSMIT_HYDAC[0].6 := 1;
		TAB_TRANSMIT_HYDAC[0].7 := 0;
	ELSIF (demande_validation_calibration = 2) THEN
		TAB_TRANSMIT_HYDAC[0].6 := 0;
		TAB_TRANSMIT_HYDAC[0].7 := 1;
	ELSE
	END_IF
(*************************************CONSIGNE BRAQUAGE*******************************************************************************)
	TAB_TRANSMIT_HYDAC[2] := WORD_TO_BYTE(consigne_braquage);
(*************************************CONSIGNE VITESSE LINEAIRE******************************************************************************)
	TAB_TRANSMIT_HYDAC[4] := WORD_TO_BYTE(valeur_absolu_vitesse);
(*************************************TRAME******************************************************************************)
		
	Raw_capt_gauche := USINT_TO_WORD(Tab_reception_304_hydac[0]) + USINT_TO_WORD(Tab_reception_304_hydac[1]) * 256;
	Real_capt_gauche := USINT_TO_WORD(Tab_reception_304_hydac[4]) + USINT_TO_WORD(Tab_reception_304_hydac[5]) * 256;
	Retour_calibre_capt_gauche := USINT_TO_WORD(Tab_reception_305_hydac[0]) + USINT_TO_WORD(Tab_reception_305_hydac[1]) * 256;
	Retour_delta_calcule :=  USINT_TO_WORD(Tab_reception_305_hydac[4]) + USINT_TO_WORD(Tab_reception_305_hydac[5]) * 256;
	ELSIF (Tab_reception_305_hydac[6].0 = 0) AND (Tab_reception_305_hydac[6].1 = 1)
		THEN Retour_signe_valeur_calibre_gauche := 2;
		Retour_signe_valeur_calibre_gauche := 0;
	ELSIF (Tab_reception_305_hydac[6].2 = 0) AND (Tab_reception_305_hydac[6].3 = 1)
	Reception_trame_hydac_306(
	eDiagInfo=> Retour_error_reception_hydac_306, 
	udiID:= 16#306);
	IF Tab_reception_306_hydac[0].0 = TRUE AND Tab_reception_306_hydac[0].1 = FALSE THEN
		retour_signe_delta_calcule := TRUE;
	retour_EV_direction_pilote := BOOL_TO_USINT(Tab_reception_306_hydac[0].2) +  BOOL_TO_USINT(Tab_reception_306_hydac[0].3) * 2;
	IF Tab_reception_306_hydac[0].4 = TRUE AND Tab_reception_306_hydac[0].5 = FALSE THEN
		retour_mode_calibration := TRUE;
	IF Tab_reception_306_hydac[0].6 = TRUE AND Tab_reception_306_hydac[0].7 = FALSE THEN
		Demande_pilotage_groupe_hydraulique := TRUE;
	Retour_nombre_calibration := USINT_TO_WORD(Tab_reception_306_hydac[1]) + USINT_TO_WORD(Tab_reception_306_hydac[2]) * 256;
	Reour_numero_premier_alarme_active := Tab_reception_306_hydac[3];
{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}
VAR_INPUT
	Activation_CAN_HYDAC:					BOOL;
	demande_direction_electrohydraulique:	BYTE;
	valeur_absolu_vitesse:					WORD;
	signe_consigne_angle_braquage:			BYTE; //1 = Gauche 2 = Droite
	demande_validation_calibration:			BYTE;
END_VAR
	Retour_Para_CAN_HYDAC:				ifmTypes.DIAG_INFO;
	Retour_error_reception_hydac_304:	ifmTypes.DIAG_INFO;
	Retour_error_reception_hydac_306:	ifmTypes.DIAG_INFO;
	Error_transmit_hydac:				BOOL;
	Error_reception_hydac_305:			BOOL;
	Raw_capt_gauche:					WORD;
	Real_capt_gauche:					WORD;
	Retour_calibre_capt_gauche:			WORD;
	Retour_delta_calcule:				WORD;
	Retour_signe_valeur_calibre_droit:	BYTE;
	retour_EV_direction_pilote:			USINT;
	Retour_nombre_calibration:			WORD;
	Demande_pilotage_groupe_hydraulique:BOOL;
	Activation_BUS_CAN_HYDAC:		ifmRCAN.CAN_Enable;
	Reception_trame_hydac_304:		ifmRCAN.CAN_Rx;
	Reception_trame_hydac_306:		ifmRCAN.CAN_Rx;	
	TAB_TRANSMIT_HYDAC:				ARRAY [0..7] OF USINT;
	Tab_reception_305_hydac:		ARRAY [0..7] OF USINT;
	Go_100ms:						BOOL;